New function to emit the "cancel" signal on a menu shell.
authorMatthias Clasen <maclas@gmx.de>
Sun, 21 Dec 2003 00:59:46 +0000 (00:59 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Sun, 21 Dec 2003 00:59:46 +0000 (00:59 +0000)
Sun Dec 21 01:54:40 2003  Matthias Clasen  <maclas@gmx.de>

* gtk/gtkmenushell.h:
* gtk/gtkmenushell.c (gtk_menu_shell_cancel): New function
to emit the "cancel" signal on a menu shell.

* gtk/gtkmenu.c (gtk_menu_key_press):
* gtk/gtkoptionmenu.c (gtk_option_menu_remove_menu):
* gtk/gtkmenubar.c (_gtk_menu_bar_cycle_focus): Use the
new function instead of directly emitting the
signal.  (#81803, Owen Taylor)

12 files changed:
ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
docs/reference/ChangeLog
docs/reference/gtk/gtk-sections.txt
gtk/gtkmenu.c
gtk/gtkmenubar.c
gtk/gtkmenushell.c
gtk/gtkmenushell.h
gtk/gtkoptionmenu.c

index 70195413ce04feab4a75b8fa4082e82f129e5c01..1d62670f2e88c24dab7fe88e44e9497649b39edf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,20 @@
+Sun Dec 21 01:54:40 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkmenushell.h: 
+       * gtk/gtkmenushell.c (gtk_menu_shell_cancel): New function 
+       to emit the "cancel" signal on a menu shell.
+
+       * gtk/gtkmenu.c (gtk_menu_key_press): 
+       * gtk/gtkoptionmenu.c (gtk_option_menu_remove_menu): 
+       * gtk/gtkmenubar.c (_gtk_menu_bar_cycle_focus): Use the 
+       new function instead of directly emitting the 
+       signal.  (#81803, Owen Taylor)
+
 Sun Dec 21 00:39:50 2003  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
-       Fix the "language_set" blurb.  (#129720, Christian Rose)
+       Fix the "language_set" blurb.  
        
-
 Sat Dec 20 22:06:03 2003  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): do not invalidate
index 70195413ce04feab4a75b8fa4082e82f129e5c01..1d62670f2e88c24dab7fe88e44e9497649b39edf 100644 (file)
@@ -1,9 +1,20 @@
+Sun Dec 21 01:54:40 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkmenushell.h: 
+       * gtk/gtkmenushell.c (gtk_menu_shell_cancel): New function 
+       to emit the "cancel" signal on a menu shell.
+
+       * gtk/gtkmenu.c (gtk_menu_key_press): 
+       * gtk/gtkoptionmenu.c (gtk_option_menu_remove_menu): 
+       * gtk/gtkmenubar.c (_gtk_menu_bar_cycle_focus): Use the 
+       new function instead of directly emitting the 
+       signal.  (#81803, Owen Taylor)
+
 Sun Dec 21 00:39:50 2003  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
-       Fix the "language_set" blurb.  (#129720, Christian Rose)
+       Fix the "language_set" blurb.  
        
-
 Sat Dec 20 22:06:03 2003  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): do not invalidate
index 70195413ce04feab4a75b8fa4082e82f129e5c01..1d62670f2e88c24dab7fe88e44e9497649b39edf 100644 (file)
@@ -1,9 +1,20 @@
+Sun Dec 21 01:54:40 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkmenushell.h: 
+       * gtk/gtkmenushell.c (gtk_menu_shell_cancel): New function 
+       to emit the "cancel" signal on a menu shell.
+
+       * gtk/gtkmenu.c (gtk_menu_key_press): 
+       * gtk/gtkoptionmenu.c (gtk_option_menu_remove_menu): 
+       * gtk/gtkmenubar.c (_gtk_menu_bar_cycle_focus): Use the 
+       new function instead of directly emitting the 
+       signal.  (#81803, Owen Taylor)
+
 Sun Dec 21 00:39:50 2003  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
-       Fix the "language_set" blurb.  (#129720, Christian Rose)
+       Fix the "language_set" blurb.  
        
-
 Sat Dec 20 22:06:03 2003  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): do not invalidate
index 70195413ce04feab4a75b8fa4082e82f129e5c01..1d62670f2e88c24dab7fe88e44e9497649b39edf 100644 (file)
@@ -1,9 +1,20 @@
+Sun Dec 21 01:54:40 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkmenushell.h: 
+       * gtk/gtkmenushell.c (gtk_menu_shell_cancel): New function 
+       to emit the "cancel" signal on a menu shell.
+
+       * gtk/gtkmenu.c (gtk_menu_key_press): 
+       * gtk/gtkoptionmenu.c (gtk_option_menu_remove_menu): 
+       * gtk/gtkmenubar.c (_gtk_menu_bar_cycle_focus): Use the 
+       new function instead of directly emitting the 
+       signal.  (#81803, Owen Taylor)
+
 Sun Dec 21 00:39:50 2003  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
-       Fix the "language_set" blurb.  (#129720, Christian Rose)
+       Fix the "language_set" blurb.  
        
-
 Sat Dec 20 22:06:03 2003  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): do not invalidate
index 70195413ce04feab4a75b8fa4082e82f129e5c01..1d62670f2e88c24dab7fe88e44e9497649b39edf 100644 (file)
@@ -1,9 +1,20 @@
+Sun Dec 21 01:54:40 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtkmenushell.h: 
+       * gtk/gtkmenushell.c (gtk_menu_shell_cancel): New function 
+       to emit the "cancel" signal on a menu shell.
+
+       * gtk/gtkmenu.c (gtk_menu_key_press): 
+       * gtk/gtkoptionmenu.c (gtk_option_menu_remove_menu): 
+       * gtk/gtkmenubar.c (_gtk_menu_bar_cycle_focus): Use the 
+       new function instead of directly emitting the 
+       signal.  (#81803, Owen Taylor)
+
 Sun Dec 21 00:39:50 2003  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init): 
-       Fix the "language_set" blurb.  (#129720, Christian Rose)
+       Fix the "language_set" blurb.  
        
-
 Sat Dec 20 22:06:03 2003  Kristian Rietveld  <kris@gtk.org>
 
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): do not invalidate
index 83462bae39094fff79c3ad1777adaafc6fbb241d..a39ee8eae038ad26ad35112421be0775044b05b3 100644 (file)
@@ -1,3 +1,7 @@
+Sun Dec 21 01:58:33 2003  Matthias Clasen  <maclas@gmx.de>
+
+       * gtk/gtk-sections.txt: Add gtk_menu_shell_cancel.
+
 Thu Dec 18 01:24:35 2003  Matthias Clasen  <maclas@gmx.de>
 
        * gtk/gtk-sections.txt: Add gtk_message_dialog_set_markup
index 0b7b82d9cacc96d9029f1d69375af4db191dad31..98673762dbc2d38a4aeb7eb610e81465a03016e0 100644 (file)
@@ -1983,6 +1983,7 @@ gtk_menu_shell_select_item
 gtk_menu_shell_select_first
 gtk_menu_shell_deselect
 gtk_menu_shell_activate_item
+gtk_menu_shell_cancel
 GtkMenuDirectionType
 <SUBSECTION Standard>
 GTK_MENU_SHELL
index 34bc4b20e508c98530c2ded356e122b2b0bb9b7c..57d943441f9851234aa5faa6141e480390529aad 100644 (file)
@@ -2461,9 +2461,7 @@ gtk_menu_key_press (GtkWidget     *widget,
        */
       if (event->keyval == keyval &&
           (mods & event->state) == mods)
-        {
-          g_signal_emit_by_name (menu, "cancel", 0);
-        }
+       gtk_menu_shell_cancel (menu_shell);
 
       g_free (accel);
 
index d35d03b3097a551edbfb9551b100c715bed849ab..30a1ff74cd9a7a57d36710dee6109aef683b7b15 100644 (file)
@@ -582,7 +582,7 @@ _gtk_menu_bar_cycle_focus (GtkMenuBar       *menubar,
       g_list_free (menubars);
     }
 
-  g_signal_emit_by_name (menubar, "cancel", 0);
+  gtk_menu_shell_cancel (GTK_MENU_SHELL (menubar));
 
   if (to_activate)
     g_signal_emit_by_name (to_activate, "activate_item");
index 80eb0d97499d28028a78297b7d53468ca1f0c09c..5fe743fc6078de0ddbf115cef05f860a7b3c9045 100644 (file)
@@ -1182,3 +1182,19 @@ _gtk_menu_shell_get_popup_delay (GtkMenuShell *menu_shell)
       return popup_delay;
     }
 }
+
+/**
+ * gtk_menu_shell_cancel:
+ * @menu_shell: a #GtkMenuShell
+ * 
+ * Cancels the selection within the menu shell.  
+ * 
+ * Since: 2.4
+ */
+void
+gtk_menu_shell_cancel (GtkMenuShell *menu_shell)
+{
+  g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell));
+
+  g_signal_emit (menu_shell, menu_shell_signals[CANCEL], 0);
+}
index 8d821bde0316b4b7ae71ea6918307741fb10d25e..512ba5d3ebf682318c4e693baf556565364c6e1e 100644 (file)
@@ -116,6 +116,7 @@ void _gtk_menu_shell_select_last       (GtkMenuShell *menu_shell,
                                        gboolean      search_sensitive);
 void  _gtk_menu_shell_activate         (GtkMenuShell *menu_shell);
 gint  _gtk_menu_shell_get_popup_delay  (GtkMenuShell *menu_shell);
+void  gtk_menu_shell_cancel            (GtkMenuShell *menu_shell);
 
 #ifdef __cplusplus
 }
index 2c8dac12367a5bf024552907710432de677ddb5d..02ed6a315a056b8e5da627dcf35a4d3874047e4f 100644 (file)
@@ -305,7 +305,7 @@ gtk_option_menu_remove_menu (GtkOptionMenu *option_menu)
   if (option_menu->menu)
     {
       if (GTK_MENU_SHELL (option_menu->menu)->active)
-       g_signal_emit_by_name (option_menu->menu, "cancel", 0);
+       gtk_menu_shell_cancel (GTK_MENU_SHELL (option_menu->menu));
       
       gtk_menu_detach (GTK_MENU (option_menu->menu));
     }